package com.baoer.dao;

import com.baoer.entity.Product;
import com.baoer.entity.ProductState;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

//@Component
@Mapper
public interface ProductDao {
    /**
     * 查询所有未删除的产品信息
     * @return 产品列表
     */
    List<Product> selectAllProducts();

    List<Product> selectOutboundProducts();

    List<Product> selectAroundProducts();

    List<Product> selectOtherProducts();

    List<Product> searchProducts(Map<String, Object> params);

    int updateProduct(Product product);

    int deleteProduct(Integer productId);

    /**
     * 根据产品ID查询产品详情，包含店铺和负责人信息
     */
    Product getProductWithStoreAndManager(Integer id);


    /**
     * 根据产品 ID 查询产品状态
     */
    ProductState getProductStateByProductId(Integer productId);

    /**
     * 添加产品状态
     */
    int addProductState(ProductState productState);

    /**
     * 修改产品状态
     */
    int updateProductState(ProductState productState);

    /**
     * 查询最新产品信息
     */
    List<Product> selectNewestProducts();

    /**
     * 查询特价产品信息
     */
    List<Product> selectSpecialOfferProducts();

    /**
     * 查询热卖产品信息
     */
    List<Product> selectHotSellingProducts();
}
   
